package org.example.casemodule.vo;

import lombok.Data;
import org.example.casemodule.enums.DayOfWeek;

import java.util.List;

@Data
public class ScheduleVO {
    /**
     *
     "weeklySchedule": [
     {
     "dayOfWeek": "MONDAY",
     "timeSlots": [
     {"start": "09:00", "end": "12:00"},
     {"start": "14:00", "end": "18:00"}
     ]
     },
     {
     "dayOfWeek": "WEDNESDAY",
     "timeSlots": [
     {"start": "10:00", "end": "13:00"},
     {"start": "15:00", "end": "19:00"}
     ]
     }
     ],
     "exceptions": [
     {
     "date": "2024-05-20",
     "available": false,
     "reason": "参加法律研讨会"
     }
     ]
     */
    private List<WeeklySchedule> weeklySchedule;
    private List<ExceptionSchedule> exceptions;
    @Data
    public static class WeeklySchedule {
        private DayOfWeek dayOfWeek;
        private List<TimeSlot> timeSlots;
    }

    @Data
    public static class ExceptionSchedule {
        private String date;
        private boolean available;
        private String reason;
    }

    @Data
    public static class TimeSlot {
        private String start;
        private String end;

        public TimeSlot(String start, String end) {
            this.start = start;
            this.end = end;
        }
    }
 }

